Information processing apparatus, process control method, and process control program product

ABSTRACT

A disclosed information processing apparatus includes an information processing unit configured to operate as a daemon process; an information displaying unit configured to operate as a process different from the daemon process and display a screen relevant to the information processing unit; a first ending unit configured to end the information displaying unit due to a first factor; and a second ending unit configured to end the information displaying unit due to a second factor different from the first factor. The information displaying unit ends the information processing unit in the event of receiving a request to end from the first ending unit and the information displaying unit does not end the information processing unit in the event of receiving a request to end from the second ending unit.

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to information processingapparatuses, process control methods, and process control programproducts, and more particularly to an information processing apparatus,a process control method, and a process control program product forcontrolling the start-up and the end of a program.

2. Description of the Related Art

In company offices, plural devices such as printers, copiers, faxmachines, or multifunction peripherals realizing functions of suchdevices in a single housing are interconnected via a communicationnetwork.

Each of these devices includes consumable elements that are consumed byusing the device. The function of the device can be maintained byappropriately replacing such a consumable element. For example, in thecase of a printer, toner, a fixing unit, a toner eject bottle, aphotoconductor, and a developer correspond to consumable elements, whichare generally referred to as supplies.

It is difficult to determine the extent to which a supply is consumedfrom the outside of a device. The only way a user can acknowledge thatthere is no toner remaining is by receiving an error message aftersending an instruction to perform a printing operation. The userreplaces a toner cartridge upon receiving the error message. In order toreduce the workload inflicted on the user, the following techniques havebeen proposed. One approach is to detect the service life of the supplyinside the device. The detected information on the supply is displayedon an operations panel or printed out on a sheet of paper. Anotherapproach is t cause the device to send a signal outside indicating thatthe supply needs to be replaced, so that a maintenance person isdispatched to the office where the device is installed. Yet anotherapproach is to cause the printer driver to send outside an order commandaccording to the remaining amount of supply.

Patent Document 1: Japanese Laid-Open Patent Application No. H10-198236

Patent Document 2: Japanese Laid-Open Patent Application No. 2003-345560

Patent Document 3: UK Patent Application Publication No. GB 2341698

However, even if the service life of a supply can be detected, if theuser is to order the supply and replace the supply, the user needs totake the trouble of correctly confirming the model number of the supplyto be replaced and place an order. Furthermore, even when the user wantsto make the order before the supply finishes, the timing at which anorder can be made may depend on the business hours of the vendor.Moreover, labor costs and delivery costs arise for making an order.

Even if the printer driver can automatically make an order, thefollowing problem arises. That is, even if the printer is seldom used orif the user is intending to stop using the printer, an order isautomatically made according to the remaining amount of supply. Thus,even when the user is no longer intending to use the printer or whenthere is no need to replace the supply, the printer driver mayautomatically order a supply counter to the user's intention.

SUMMARY OF THE INVENTION

The present invention provides a an information processing apparatus, aprocess control method, and a process control program product in whichone or more of the above-described disadvantages are eliminated.

A preferred embodiment of the present invention provides an informationprocessing apparatus, a process control method, and a process controlprogram product capable of appropriately controlling the start-up andthe end of a computer program.

An embodiment of the present invention provides an informationprocessing apparatus including an information processing unit configuredto operate as a daemon process; and an information displaying unitconfigured to operate as a process different from the daemon process anddisplay a screen relevant to the information processing unit; wherein asthe information displaying unit is started up, the informationdisplaying unit starts up the information processing unit.

An embodiment of the present invention provides an informationprocessing apparatus including an information processing unit configuredto operate as a daemon process; an information displaying unitconfigured to operate as a process different from the daemon process anddisplay a screen relevant to the information processing unit; a firstending unit configured to end the information displaying unit due to afirst factor; and a second ending unit configured to end the informationdisplaying unit due to a second factor different from the first factor;wherein the information displaying unit ends the information processingunit in the event of receiving a request to end from the first endingunit and the information displaying unit does not end the informationprocessing unit in the event of receiving a request to end from thesecond ending unit.

An embodiment of the present invention provides a process control methodexecuted by a computer, the process control method including a firststart-up step of starting up an information processing programconfigured to operate as a daemon process; and a second start-up step ofstarting up an information displaying program configured to operate as aprocess different from the daemon process and display a screen relevantto the information processing program; wherein in the second start-upstep, the information displaying program executes the first start-upstep.

An embodiment of the present invention provides a process control methodexecuted by a computer, the process control method including a firststart-up step of starting up an information processing programconfigured to operate as a daemon process; a second start-up step ofstarting up an information displaying program configured to operate as aprocess different from the daemon process and display a screen relevantto the information processing program; a first ending step of ending theinformation displaying program due to a first factor; and a secondending step of ending the information displaying program due to a secondfactor different from the first factor; wherein the informationdisplaying program has a function of ending the information processingprogram in the event of receiving a request to end in the first endingstep and the information displaying program has a function of not endingthe information processing program in the event of receiving a requestto end in the second ending step.

According to one embodiment of the present invention, an informationprocessing apparatus, a process control method, and a process controlprogram product capable of appropriately controlling the start-up andthe end of a computer program are provided.

BRIEF DESCRIPTION OF THE DRAWINGS

Other objects, features and advantages of the present invention willbecome more apparent from the following detailed description when readin conjunction with the accompanying drawings, in which:

FIG. 1 is a schematic diagram of an order support system according to anembodiment of the present invention;

FIG. 2 is a flowchart of a process that a monitor program causes aclient PC to perform;

FIG. 3 is a sequence diagram for describing the process of userregistration performed by the order support system;

FIG. 4 is an example of a user registration page;

FIG. 5 is an example of a displayed search result device list page;

FIG. 6 is a flowchart of a process of installing the monitor program;

FIG. 7 is an example of the structure of install specificationinformation saved in a specification information file;

FIG. 8 is an example of a specification screen displayed with theinstall specification information specified;

FIG. 9 is a flowchart for describing a process for uninstalling themonitor program;

FIG. 10 is a sequence diagram for describing the process of monitoringdevices performed by the order support system;

FIG. 11 is an example of the structure of shortage report information;

FIG. 12 illustrates an example of the shortage report e-mail;

FIG. 13 is an example of an order page;

FIG. 14 is a flowchart of a process for determining whether to send theshortage report e-mail;

FIG. 15 illustrates the structure of a monitor program;

FIG. 16 illustrates the relationship between an individual environmentincluding a UI application and a monitor service;

FIG. 17 is a sequence diagram for describing the process of starting upthe monitor service when the client PC is booted;

FIG. 18 is an example of an icon of a UI application on a task bar;

FIG. 19 is a sequence diagram for describing a start-up process in whichthe monitor service is not started up as the client PC is booted;

FIG. 20 is a flowchart for describing the process of starting up the UIapplication;

FIG. 21 is a sequence diagram for describing the ending process of themonitor program when a user logs off;

FIG. 22 is a sequence diagram for describing the process for ending themonitor program when an instruction is made to end the UI applicationwith a context menu; and

FIG. 23 is a flowchart for describing the process of ending the UIapplication.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A description is given, with reference to the accompanying drawings, ofan embodiment of the present invention.

FIG. 1 is a schematic diagram of an order support system according to anembodiment of the present invention. As shown in FIG. 1, an ordersupport system 1 includes an order support server 10, a client PC 20,and devices 30 a, 30 b, 30 c, and 30 d (hereinafter also collectivelyreferred to as “device 30”). The order support server 10 is installed atan order site (the vendor of consumable elements of the device 30, forexample, the manufacturer of the device 30). The client PC 20 and thedevice 30 are installed at a user site (at the user of the device 30,for example, at an office). The order support server 10 and the clientPC 20 are connected to each other via a wide area network 40 such as theInternet. The client PC 20 and the device 30 are connected to each othervia a network 50 (either wired or wireless) such as a LAN (Local AreaNetwork) provided at the user site.

The device 30 is an image forming apparatus such as a typical printer ora multifunction peripheral that forms images by consuming toner or ink.In the present embodiment, the device 30 supports the MIB (ManagementInformation Base). The device 30 can respond to a request for MIBinformation, which request is received via the network 40 based on theSNMP (Simple Network Management Protocol). Furthermore, in the presentembodiment, the device 30 can detect information indicating the statusof consumable elements (status information). The status information canbe qualitative (normal/near-end/end) or quantitative (100%, 90%, . . . ,10%, 0%).

The client PC 20 is a general-purpose computer, and a monitor program 21is installed therein. The monitor program 21 can be installed from arecording medium 502 such as a CD-ROM or downloaded via the network 40.As described below, in the present embodiment, the monitor program 21 isdownloaded via the network 40.

The monitor program 21 is loaded into a memory in the client PC 20 andprocessed by a CPU to cause the client PC 20 to execute the followingfunctions. FIG. 2 is a flowchart of a process that the monitor program21 causes the client PC 20 to perform.

The client PC 20 periodically acquires device information (MIBinformation) from each device 30 based on the monitor program 21 (stepS251). The device information includes information (status information)for determining the status of consumable elements used by the device 30,such as the toner status or a total counter value (total number ofprinted out sheets). The device information can include the statusinformation of other consumable elements, such as a fixing unit, a tonereject bottle, a photoconductor, or a developer. If the statusinformation of consumable elements included in the acquired deviceinformation is qualitative (i.e., normal/near-end/end) (“qualitativeinformation” in step S252), and the information indicates near-end orend (hereinafter collectively referred to as “end”) (Yes in step S253),it is determined that there is a shortage (lack) in the consumableelement (step S254), and the device information of the device 30 is sentto the order support server 10 (step S255). On the other hand, if thestatus information of consumable elements included in the acquireddevice information is quantitative (i.e., 100%, 90%, . . . , 10%, 0%)(“quantitative information” in step S252), it is determined whether theinformation indicates a value below a predetermined threshold (less thanor equal to 30%) (step S256). If the value is below the predeterminedthreshold (Yes in step S256), it is determined that there is a shortage(lack) in the consumable element (step S254), and the device informationof the device 30 is sent to the order support server 10 (step S255).

In the present embodiment, the client PC 20 detects whether there is ashortage (lack) in the consumable element; however, this detection canbe performed by the order support server 10. In the latter case, theclient PC 20 needs to send the device information of all of the devices30 to the order support server 10. Thus, in terms of reducing thenetwork load, it is preferable to send, to the order support server 10,the device information of only the device 30 that is detected by theclient PC 20 as lacking in a consumable element.

In the client PC 20, a mailer for sending/receiving e-mails and a Webbrowser for browsing a Web page are also installed.

The order support server 10 is a general-purpose computer that has afunction of a Web server and has an order support program 11 installedtherein. The order support program 11 can be installed from a recordingmedium 501 such as a CD-ROM or downloaded via the network 40.

The order support program 11 is loaded in a memory of the order supportserver 10 and processed by a CPU to cause the order support server 10 toexecute the following functions. That is, based on the order supportprogram 11, an e-mail creating unit of the order support server 10creates an e-mail to prompt replenishment (or replacement) of aconsumable element (hereinafter, “supply”) determined as lacking basedon the device information received from the client PC 20. The e-mail issent to an e-mail address of a user that is registered beforehand. Thee-mail message contains the URL of a Web page (hereinafter, “supplyorder page”) for ordering the lacking supply. In response to an HTTPrequest that is transmitted as the user clicks the URL, the ordersupport server 10 returns the supply order page. Then, the order supportserver 10 receives an order request for the supply, which request ismade with the supply order page. In response to the supply orderrequest, the order support server 10 sends an order instruction for thesupply to a not shown supply order management system.

A process performed by the order support system 1 shown in FIG. 1 isdescribed below. A user that purchased the device 30 from a vendorconcludes a registration contract for being registered in the ordersupport system 1 with the vendor. The user that has concluded theregistration contract first performs user registration as illustrated inFIG. 3. As will become apparent in the description below, the user canexpect to reduce costs required for the operation of replenishing(replacing) the supply by using the order support system 1. Such anexpectation becomes an incentive for the user to conclude theregistration contract.

FIG. 3 is a sequence diagram for describing the process of userregistration performed by the order support system 1. As shown in FIG.3, a Web browser 22 is a general-purpose Web browser installed in theclient PC 20. A mailer 23 is a general-purpose mailer installed in theclient PC 20.

The user obtains an ID (hereinafter, “access ID”) for accessing theorder support server 10 to conclude the registration contract and theURL of the order support server 10 from a vendor, and inputs the URL inthe Web browser 22. As the URL is input, a request to input the accessID is displayed. If a legitimate access ID is input, a Web page(hereinafter, “user registration page”) for performing user registrationis sent from the order support server 10 to the Web browser 22 (stepS11). Upon receiving the user registration page, the Web browser 22displays the user registration page.

FIG. 4 is an example of the user registration page. In the followingdescription for FIG. 4, numbers inside ( ) correspond to referencenumerals in FIG. 4. As shown in FIG. 4, in a user registration page 220,it is possible to input basic information such as the name of the user(221), a postal code (222), an address (223), a company name (224), adepartment name (225), a telephone number (226), a fax number (227), andan e-mail address (228), and other information such as a postal code, anaddress, a company name, and a department name of the address (231) fordelivering supplies when orders for supplies are made, and a vendor ID(232). The vendor ID is the ID of the vendor with which the userconcludes a registration contract, and is notified by the vendor whenthe registration contract is concluded.

The user inputs necessary information in the user registration page 220and clicks a registration button 233. Then, the Web browser 22 sends anHTTP request to the order support server 10, requesting to perform userregistration (step S12). The HTTP request includes information input tothe user registration page 220 (hereinafter referred to “userinformation”, including the vendor ID).

When the HTTP request is received, the order support program 11 of theorder support server 10 registers the user information included in theHTTP request to a predetermined database (hereinafter, “user database”)(step S13). When registering the user information, the order supportprogram 11 determines whether the order support server 10 includes anentry of the vendor ID included in the user information. If there issuch an entry, the order support program 11 generates or acquires anumber for a user ID and a password for the user. The user ID and thepassword are also included in the user information and registered in theuser database.

Subsequently, the order support program 11 sends a URL of a Web page(hereinafter, “download page”) for downloading the monitor program 21and an e-mail (hereinafter, “install information report e-mail”)containing the generated user ID and password in the body thereof, tothe e-mail address of the user (step S14). The order support program 11also sends, to the Web browser 22, a Web page for displaying a messagereporting that the install information report e-mail has been sent, byincluding the Web page in an HTTP response made to the HTTP requestreceived in step S12. The user can acknowledge receipt of the installinformation report e-mail by viewing the Web page. By viewing theinstall information report e-mail with the mailer 23, the user canconfirm the URL of the download page and the user ID and password givento the user.

The URL of the download page does not necessarily have to be reportedwith an e-mail. For example, in step S14, it is possible to return thedownload page per se, instead of returning the Web page displaying themessage that the install information report e-mail has been sent.However, if the download page is returned at the timing of step S14, theuser has to continue the install operation. The method of using theinstall information report e-mail is more convenient for the user inthat the user can perform the install operation whenever convenient,once the mail is received. The information can also be sent by fax orpost.

When the user clicks the URL of the download page written in the installinformation report e-mail, the mailer 23 causes the Web browser 22 tostart up by taking the URL as an argument. When the Web browser 22starts up, the Web browser 22 displays the download page based on theURL. On the download page, the user clicks a URL of a downloaddestination. Then, the Web browser 22 sends a download request fordownloading the monitor program 21 to the order support server 10 (stepS15). In response to the download request, the order support program 11transfers an install package of the monitor program 21, which package issaved in the order support server 10, to the client PC 20 (step S16).

The user starts up an installer 25 included in the downloaded installpackage (step S17). When the installer 25 starts up, it displays arequest to prompt the user to input the user ID and password reported inthe install information report e-mail. When the user inputs the user IDand password, the installer 25 sends the input user ID and password tothe order support server 10, and requests user authentication (stepS18). The order support program 11 cross-checks the user ID and passwordreceived from the installer 25 with the user ID and password registeredin the user database to authenticate the user (step S19). The ordersupport program 11 returns the authentication results to the monitorprogram 21 (step S20). When the user is successfully authenticated, theinstaller 25 installs the monitor program 21 (step S21); when the useris not successfully authenticated, the installer 25 does not install themonitor program 21.

The monitor program 21 is installed only when the user is authenticated.Accordingly, it is possible to prevent a user that had fraudulentlyobtained the install package from installing the monitor program 21. Themonitor program 21 performs communications with the order supportprogram 11 via the network 40. Thus, in order to prevent fraudulentusers from using the monitor program 21 and protect the order supportserver 10 from being attacked via the network 40, it is effective toperform user authentication before installing the monitor program 21.The installing process performed by the installer 25 is described belowin detail.

If the monitor program 21 is normally installed, the monitor program 21starts operating in the client PC 20. First, the monitor program 21searches the devices 30 connected to the network 50 (step S22), andsends all search result information of the devices 30 (e.g., a serialnumber of the device, a MAC address, a machine name, a vendor name (nameof manufacturer of device); hereinafter, “search result deviceinformation”) to the order support server 10 (step S23). The operationsof searching the devices 30 and acquiring the search result deviceinformation via the network 50 can be performed by known techniques.

The order support program 11 registers the received search result deviceinformation into a predetermined database (hereinafter, “devicedatabase”) (step S24), and sends a URL of a Web page (hereinafter,“search result device list page”) displaying a list of the search resultdevice information to the monitor program 21 (step S25). The monitorprogram 21 starts up the Web browser 22 by taking the received URL as anargument (step S26). When the Web browser 22 starts up, the Web browser22 sends an HTTP request requesting the search result device list pagebased on the URL specified as the argument to the order support server10 (step S27). When the HTTP request is received, the order supportprogram 11 generates a search result device list page based on thesearch result device information registered in step S24, and returns thesearch result device list page to the Web browser 22 (step S28).

FIG. 5 is an example of a displayed search result device list page. Inthe following description for FIG. 5, numbers inside ( ) correspond toreference numerals in FIG. 5. As shown in FIG. 5, a search result devicelist page 240 displays, for each device 30 found as a result of thesearch, a serial number, a MAC address, an IP address, a model name, anda vendor name. Furthermore, the search result device list page 240includes, for each device 30, a column (241) for inputting remarks and acheck button (242) for selecting whether to specify the correspondingdevice 30 as a monitor object to be monitored by the monitor program 21.The user can input a remark and select whether to monitor the device 30for each device 30 in the search result device list page 240. In thepresent embodiment, when the check button (242) is checked, it isdetermined that the corresponding device 30 is selected as a monitorobject. In the remarks column (241), the user can arbitrarily input anykind of information. For example, information that would facilitate theoperation of replacing consumable elements, such as the location of thedevice 30, can be input.

In the search result device list page 240, the user inputs a remark oneach device 30, selects whether to monitor each device 30, and clicks asend button 243. Then, the Web browser 22 sends an HTTP request to theorder support server 10, requesting to register the remarks input andthe selections made regarding the necessity of being monitored regardingthe devices 30 (step S29). The order support program 11 additionallyregisters the remarks input and the selections made regarding thenecessity of being monitored for the devices 30 based on the receivedHTTP request (step S30).

The process of user registration is completed. Other than when themonitor program 21 is installed, the user can add other devices 30 asmonitor objects by selecting menu items. Similarly, the monitor program21 registers search result device information and causes the client PC20 to display a search result device list page.

Next, details of the process of installing the monitor program 21performed by the installer 25 are described. FIG. 6 is a flowchart of aprocess of installing the monitor program 21.

When a user starts up the installer 25, the installer 25 causes theclient PC 20 to display a screen for selecting an install destination(folder or directory) (hereinafter, “install folder selection screen”)(step S51). In the install folder selection screen, a default installfolder can be displayed for the convenience of the user. When the userselects an install folder, the installer 25 determines whether themonitor program 21 has been installed in the client PC 20 in the past(step S52). If the monitor program 21 has been installed in the past, itmeans that the monitor program 21 is presently installed or the monitorprogram 21 has been installed and then uninstalled in the past. Thisdetermination is made based on whether there is information that isrecorded in the client PC 20 when installing the monitor program 21. Inthe present embodiment, the determination is made based on whether thereis a specification information file. The specification information fileholds information that is specified when installing the monitor program(hereinafter, “install specification information”), which file isgenerated in step S56 described below. Accordingly, at this point, it isconfirmed whether there is a specification information file, which wouldhave been generated in an install folder if the monitor program 21 haspreviously been installed.

FIG. 7 is an example of the structure of the install specificationinformation saved in the specification information file. As shown inFIG. 7, the install specification information held in the specificationinformation file includes a URL of the order support server 10, a userID, a password, an IP address and a port number of a proxy server at theuser site, and a user name and a password acting as authenticationinformation for the proxy server.

When it is determined that the monitor program 21 has been installed(when there is a specification information file), the installer 25acquires install specification information from the specificationinformation file and causes the client PC 20 to display a specificationscreen containing the specified install specification information (stepS53). The specification screen is displayed for making a user inputinstall specification information.

FIG. 8 is an example of the specification screen displayed with theinstall specification information specified.

Referring to FIG. 8, a specification screen 301 is displayed first. Thespecification screen 301 requests the user to input the URL of the ordersupport server 10, a user ID, and a password. The user ID and thepassword are reported to the user by the install information reporte-mail. A specification screen 302 is displayed after a Next button 3011shown in the specification screen 301 is pressed. The specificationscreen 302 requests the user to input the IP address and the port numberof the proxy server at the user site and a user name and a passwordacting as authentication information for the proxy server.

However, if the monitor program 21 has previously been installed, thespecification screens 301 and 302 shown in FIG. 8 will contain theinstall specification information input at that time. Therefore, unlessthere are any changes to be made in the install specificationinformation, the user is not required to input the install specificationinformation again. On the other hand, when it is determined that themonitor program 21 has never been installed (when there is nospecification information file), the installer 25 displays thespecification screens 301 and 302 with blank input fields (step 54). Inthis case, the user needs to input each information item.

When the user presses a Complete button 3021 in the specification screen302, the installer 25 installs the monitor program 21 (step S55). Beforethe installation, the installer 25 sends the user ID and the passwordinput to the specification screen 301 to the order support program 11.Only when the user ID and the password are authenticated, the installer25 installs the monitor program 21. This point is the same as thatdescribed with reference to steps S18-S20 in FIG. 3.

When the monitor program 21 is successfully installed, the installer 25generates a specification information file in the install folder, andsaves the install specification information in the specificationinformation file in the format shown in FIG. 7 (step S56). However, ifthe monitor program 21 is installed based on the install specificationinformation previously input, this step is unnecessary.

The monitor program 21 is uninstalled by an uninstaller included in theinstall package. FIG. 9 is a flowchart for describing a process foruninstalling the monitor program 21.

When an instruction to uninstall the monitor program 21 is received froma user, the uninstaller creates a copy of the specification informationfile and evacuates (saves) the copy in a folder other than the installfolder (step S61). The uninstaller uninstalls the monitor program 21,and deletes files in the install folder (step S62). The uninstallermoves the evacuated (saved) specification information file back to theinstall folder (step S63).

As described above, even after the monitor program 21 is uninstalled,the specification information file remains in the install folder.Accordingly, when starting to install the monitor program 21 in stepS52, it can be determined that the monitor program 21 has been installedin the past if the specification information file exits. It is alsopossible to let the user select whether to save a backup of thespecification information file.

Next, a description is given of a process performed by the order supportsystem 1 when the monitor program 21 installed in the client PC 20periodically monitors the status of the devices 30. FIG. 10 is asequence diagram for describing the process of monitoring the devices 30performed by the order support system 1.

When it is time to monitor the status of the devices 30, the monitorprogram 21 requests a list of devices 30 that are monitor objects(hereinafter, “monitor devices”) from the order support server 10 (stepS101). The order support program 11 lists the monitor devices based onthe necessity of being monitored as registered in the device databaseand returns the list (monitor device list) to the monitor program 21(step S102). Other than the predetermined periodic time points formonitoring the devices 30, the monitor program 21 can monitor thedevices 30 at any time point according to, for example, a menu itemselected by the user.

The monitor program 21 receives the monitor device list, and requeststhe MIB information acting as device information based on SNMP from thedevices 30 included in the monitor device list (step S103). The MIBinformation to be requested includes at least status information oftoner and may also include status information of other supplies. Each ofthe devices 30 returns the requested MIB information to the monitorprogram 21 (step S104).

In implementing the present invention, the device information is notlimited to MIB information and the protocol for requesting the deviceinformation is not limited to SNMP. However, by using standardizedtechniques, it is possible to acquire device information by performing acommon procedure for multiple devices 30, even if the devices 30 arefrom different vendors. Therefore, it is preferable to use standardizedtechniques such as MIB and SNMP.

When device information is acquired (polled) from all monitor devices,the monitor program 21 determines whether a shortage report is to bemade based on the device information (step S105). That is, as describedwith reference to FIG. 2, if the status information of consumableelements included in the acquired device information is qualitative(i.e., normal/near-end/end), and the information indicates end, it isdetermined that there is a shortage of the consumable element, and thedevice information of the corresponding device 30 is sent to the ordersupport server 10 (step S106). If the status information of consumableelements included in the acquired device information is quantitative(i.e., 100%, 90%, . . . , 10%, 0%), it is determined whether theinformation indicates a value below a predetermined threshold (less thanor equal to 30%). If the value is below the predetermined threshold, itis determined that there is a shortage of the consumable element, andthe device information of the corresponding device 30 is sent to theorder support server 10 (step S106). The shortage of the supply may alsomean that the function has been degraded due to continuous usage. Theinformation to be reported is hereinafter referred to as “shortagereport information”.

FIG. 11 is an example of the structure of shortage report information.As shown in FIG. 11, the shortage report information includes headerinformation and device information.

The header information includes the date and time, a user ID, and apassword. The date and time are the date and time of transferring thedevice information. The user ID and password are input when the monitorprogram 21 is installed, which are the saved user ID and password. Thus,the header information is not acquired from the device 30.

The device information is as described above. Specifically, the deviceinformation is acquired as MIB information from the device 30, includinga vendor name, a model name (information for specifying the device 30),a serial number, a MAC address, an IP address, a toner ID (informationfor specifying a toner bottle: in the case of a color device, a toner IDis given for each color; in the case of a monochrome device, only one IDis given), a toner name, a toner status, a toner level, a toner name(character string), a toner name (code), and a total counter value, ofthe device 30. This information is defined by public MIB (standard MIB),and can be acquired from any device 30 regardless of the vendor.

The toner status indicates the status of the toner. The total countervalue indicates the total number or printed out sheets. The monitorprogram 21 detects “toner end” (toner has finished) based on the tonerstatus. The monitor program 21 determines the extent to which aphotoconductor, a fixing unit, or a developer is consumed based on thetotal counter value. However, the toner status indicated by the standardMIB cannot specify the color of the toner that has been expended(finished).

Accordingly, the device information according to an embodiment of thepresent invention also includes a monochrome counter value, a colorcounter value, a cyan counter value, a magenta counter value, a blackcounter value, and a red counter value. These are uniquely defined by avendor as private MIB (extended MIB).

For example, in an embodiment of the present invention, it is assumedthat only the devices 30 made by a manufacturer A provide the extendedMIB. Therefore, device information of the devices 30 made bymanufacturer A includes these values; however, these values are blank indevice information of the devices 30 made by manufactures other thanmanufacturer A.

The monochrome counter value is the number of sheets printed out bymonochrome printing. The color counter value is the number of sheetsprinted out by color printing. The cyan counter value, the magentacounter value, the black counter value, and the red counter value arethe numbers of sheets printed out by using toners of the respectivecolors. Therefore, if the device 30 is made by manufacturer A, it ispossible to detect the end of toner by each color.

In an embodiment of the present invention, the information shown in FIG.11 is reported as the shortage report information; however, the presentinvention is not limited thereto. The information to be reported can beappropriately determined according to need.

For each device 30 detected as having a shortage of a supply, theshortage report information shown in FIG. 11 is sent to the ordersupport program 11.

Upon receiving the shortage report information, the order supportprogram 11 identifies the supply of which a shortage is indicated by theshortage report information, and determines whether to report theshortage to the user (step S107). Details of the determination processare described below. This process is performed to prevent the ordersupport program 11 from redundantly sending reports of the same shortageto the user, as there may be cases where shortage report information isreceived redundantly.

When it is determined that the shortage report information is notredundant, the order support program 11 generates a Web page(hereinafter, “order page”) for ordering the lacking supply, creates ane-mail (hereinafter, “shortage report e-mail”) for reporting that thereis a shortage of the corresponding supply, and sends the e-mail to theuser's e-mail address (step S108). The shortage report e-mail containsthe URL of the order page. Each shortage report e-mail is given an ID(hereinafter, “mail ID”). The mail ID is saved together with informationfor identifying the device 30 such as the serial number of the device 30that is the subject of the shortage report e-mail, information foridentifying the user such as a user ID or an e-mail address, and thesent date and time, as the transmission history of the shortage reporte-mail.

FIG. 12 illustrates an example of the shortage report e-mail. In ashortage report e-mail 250 shown in FIG. 12, character strings in <> donot indicate specific values but describe the contents of theinformation to be input to the corresponding position.

As shown in FIG. 12, an e-mail address of a user pertaining to theshortage report information is input as the destination of the shortagereport e-mail 250. The e-mail address of the user can be specified bysearching the user database, using the user ID and the password includedin the shortage report information as search keys. At the time of userregistration, a user ID and a password are registered together with ane-mail address in the user database.

The title of the shortage report e-mail 250 indicates that it is ashortage report e-mail. The body of the shortage report e-mail 250contains information regarding the device 30 pertaining to the shortagereport information, information on the lacking supply, the URL of theorder page, etc.

The information regarding the device 30 includes a vendor name and amodel name of the device 30 and remarks. This information can beacquired from the device database by using a serial number, a MACaddress, or an IP address included in the shortage report information asa search key. If the lacking supply is toner, the information on thelacking supply includes information such as a toner status, a toner ID,and a toner name included in the shortage report information.

If shortages in plural supplies occur at the same time in a singledevice 30, a single shortage report e-mail 250 with informationindicating the shortages of the plural supplies is created, and theshortages of the plural supplies are reported.

A user views the shortage report e-mail 250 with the mailer 23 in theclient PC 20, and can acknowledge the shortage of the supply withoutexecuting a printing job. Furthermore, by inputting the location wherethe device 30 is installed as a remark, the location where the device 30is installed can be easily identified based on this information.

When the user clicks the URL of the order page included in the shortagereport e-mail 250, the mailer 23 causes the Web browser 22 to start upby taking the URL as an argument. When the Web browser 22 starts up, theWeb browser 22 sends an HTTP request requesting the order page based onthe URL specified as the argument to the order support server 10 (stepS109). When the HTTP request is received, the order support program 11returns the order page to the Web browser 22 (step S110). The Webbrowser 22 displays the received order page.

FIG. 13 is an example of the order page. As shown in FIG. 13, an orderpage 260 includes an area 261 displaying information regarding thedevice 30 with a lacking supply (manufacturer (vendor) name, model name,serial number, remarks (location)). An area 261A displays the name ofthe lacking supply. An area 262 displays a list of various suppliescorresponding to the device 30, so that orders can be placed for thevarious supplies. Specifically, for each supply, a product name isdisplayed, and the quantity to be purchased can be input. As indicatedby reference numeral 2621, the quantity necessary for the lacking supplyis already input. Each product name provides a link to a Web pagedisplaying descriptions of the corresponding product. An area 263displays the purchase history of the corresponding user. Accordingly,redundant purchases can be prevented from being made by the user.

The purchase history is registered in the user database for each user.That is, every time a product is ordered via the order page 260,information on the ordered product is additionally registered in theuser database.

The order page 260 shown in FIG. 13 is reporting that there is ashortage of the yellow toner. As described above, with the standard MIB,the specific color of the lacking toner cannot be identified. Thus, theorder page 260 shown in FIG. 13 indicates the results determined basedon information registered in the extended MIB. In this manner, amanufacturer participating in the order support system 1 candifferentiate itself from another manufacture in terms of servicesprovided with the order support system 1 by defining its own extendedMIB. Specifically, assuming that toner end is detected (toner isfinished) in the device 30 made by another manufacturer, the order page260 does not report the specific color of the finished toner. It ispossible to exclude supplies of the devices 30 made by othermanufacturers from objects for placing orders using the order supportsystem 1; however, in consideration of the user's convenience, suppliesof the devices 30 made by other manufacturers can also be ordered in thepresent embodiment.

When the user clicks an order button 2622, the Web browser 22 sends anHTTP request to the order support server 10, requesting to order theproduct (step S111).

When the HTTP request is received, the order support program 11 recordsinformation for providing part of the profit to be made by the orderrequest to a vendor associated with the user (step S112). Specifically,a database (hereinafter, “vendor database”) for managing the sales ofsupplies sold with the order support system 1 is constructed, and thecontents of the current order (e.g., total amount of orders) arerecorded in the sales section of the vendor database. The vendorconcludes a participation contract with the manufacturer to participatein the order support system 1. Accordingly, an entry to the vendordatabase is created. Furthermore, the vendor is given a vendor ID. Thevendor is identified by the vendor ID in the order support system 1. Instep S112, the user making the HTTP request can be identified byassociating the user ID with a session ID of a session with the Webbrowser 22. Based on this association, a user ID can be identified fromthe session ID.

The order support program 11 sends an order instruction to the supplyorder management system. This instruction includes the address fordelivering a supply, which address is registered in the user database.By sending the order instruction to the supply order management system,the ordered product is actually delivered to the user. When the usermakes the payment, it is recorded in the vendor database that the saleof the current order has been settled. When the sale is settled, thevendor is given an allowance such as sales promotion fees in accordancewith the sale.

Next, details of a process performed in step S107 in FIG. 10 aredescribed. FIG. 14 is a flowchart of a process for determining whetherto send the shortage report e-mail. The significance of this process isdescribed again below.

The monitor program 21 periodically requests device information from thedevices 30 to determine whether there is a shortage of a supply based onthe device information. When a shortage of a supply is detected as aresult of the determination, the monitor program 21 sends shortagereport information to the order support program 11. However, if themonitor program 21 detects a shortage of a supply but the correspondingsupply is not replaced within a period during which the monitor program21 is making requests for device information, the monitor program 21 mayrepeatedly detect the same shortage of supply of the same device 30.Furthermore, there may be cases where toner end is detected even whentoner is still remaining in the toner bottle. In such a case, the usershakes the toner bottle (to loosen the toner) and then reattaches thetoner bottle. However, after a while, toner end may be detected againfor the same bottle. This means that the same shortage report would beredundantly sent to the user. If the user does not notice thisredundancy, the user may place redundant orders. In order to preventthis from happening, the order support program 11 performs the followingprocess.

First, based on the serial number of the device 30 included in theshortage report information received from the monitor program 21, theorder support program 11 checks the date and time of the last (previous)shortage report e-mail sent regarding the corresponding device 30 byreferring to the transmission history of shortage report e-mails (stepS201).

When the transmission history does not include a transmission recordthat a shortage report e-mail has been sent to the corresponding device30 (No in step S202), the order support program 11 determines to send ashortage report e-mail (step S203). If a shortage report e-mail hasnever been sent to the corresponding device 30, it means that a shortagereport e-mail will not be sent redundantly.

If the transmission history includes a transmission record that ashortage report e-mail has been sent to the corresponding device 30 (Yesin step S202), the order support program 11 determines whether apredetermined period of time has passed since the date and time ofsending the last shortage report e-mail (step S204). If a predeterminedperiod has passed, the order support program 11 determines to send ashortage report e-mail (step S203); if a predetermined period has notpassed, the order support program 11 determines not to send a shortagereport e-mail to avoid redundancy (step S205).

FIG. 14 indicates an example of making the determination based onpassage of time. However, it is also possible to record a total count asthe transmission history, and determine not to send a shortage reportmail if a difference indicated by the total count is below apredetermined threshold. Furthermore, it is also possible to delete theentire transmission history at regular time intervals, and refrain fromsending a shortage report e-mail if the transmission history includes atransmission record that a shortage report e-mail has been sent to thesame corresponding device 30.

As described above, the order support system 1 according to anembodiment of the present invention can provide convenience and benefitsto the user (client), the vendor, and the manufacturer of the device 30.

Specifically, shortage of a supply of the device 30 is automaticallydetected, and a shortage report e-mail is automatically sent to aterminal of the user. The user can click the URL contained in theshortage report e-mail to display the order page 260 and easily orderthe lacking supply with the order page 260. The user is saved from thetrouble of specifying the supply corresponding to the device 30 or goingout to a mass merchandise outlet to purchase the supply, so that costsfor procuring the supply can be reduced.

The vendor can gain part of the profits made with the supply, and canthus expand its profit-gaining sources.

The manufacturer can offer incentives to vendors to prioritize sellingdevices made by itself over devices made by other manufacturers. Themanufacturer can also offer incentives to users to purchase devices madeby the itself. Specifically, if a supply made by the manufacturer soldvia the order support system 1 offers a higher commission rate comparedto supplies made by other manufacturers, or if supplies made by othermanufacturers offer a commission rate of zero, the vendor can gainhigher profits by selling supplies made by the manufacturer.Furthermore, the user can expect to receive more detailed services bypurchasing a device made by the manufacturer, such as being able tospecify the color of the lacking toner.

The manufacture can roughly estimate the usage period of the devices 30by accumulating device information of users. Accordingly, themanufacture can effectively contact the user to make new salespromotions such as prompting the user to replace the device 30 with anew one.

In the above embodiment, the user concludes a registration contract forbeing registered into the order support system 1 with the vendor.However, the other party with which the user concludes a registrationcontract is not limited to the vendor that provides the device. Themanufacturer can give a vendor ID to be used in the order support system1 to a dealer that does not sell devices. In such a case, the dealer canreceive commissions from profits made by selling supplies via the ordersupport system 1, regardless of whether the dealer sells devices.

The monitor program 21 can include two or more programs. FIG. 15illustrates the structure of such a monitor program 21. As shown in FIG.15, the monitor program 21 includes a UI application 211 and a monitorservice 212.

The monitor service 212 is a program that starts up as a daemon processand executes operations such as acquiring device information,determining whether there is a shortage of a consumable element based onthe device information, and sending the device information relevant to aconsumable element determined as lacking to the order support program11. That is, the monitor service 212 realizes functions described aboveas functions of the monitor program 21.

The UI application 211 is an application that starts up as a separateprocess from the monitor service 212, and provides a GUI (Graphical UserInterface) for functions of the monitor service 212. For example, the UIapplication 211 causes the client PC 20 to display a screen forspecifying specification information (e.g., the period of acquiringdevice information) for the monitor service 212 or a screen fordisplaying device information acquired by the monitor service 212.

FIG. 16 illustrates the relationship between an individual environmentincluding the UI application 211 and the monitor service 212. As shownin FIG. 16, the UI application 211 is started up for each individualenvironment (log on). The monitor service 212 is commonly used fromplural individual environments. An individual environment is for theuser to access software resources, and is established by logging on (orlogging in).

The start-up process and the ending process for these two programs aredescribed below. FIG. 17 is a sequence diagram for describing theprocess of starting up the monitor service 212 when the client PC 20 isbooted.

When the client PC 20 is booted and an OS 26 such as Windows (registeredtrademark) starts up, the OS 26 starts up the monitor service 212 as aprocess (daemon process) during the start-up process of the OS 26 (stepS301). When the user logs on (step S302), the OS 26 executes a start-upoperation and starts up the UI application 211 as a process in thestart-up operation (step S303). The UI application 211 displays its iconon a task bar in an initial status (step S304).

FIG. 18 is an example of an icon of the UI application 211. As shown inFIG. 18, an icon 211 i is an icon of the UI application 211. The UIapplication 211 appears as an icon on the task bar when it is startedup. When the icon 211 i is double-clicked with the left button of amouse, a GUI of the UI application 211 is displayed. When the icon 211 iis clicked with the right button of a mouse, a context menu 211 m isdisplayed.

FIG. 19 is a sequence diagram for describing a start-up process in whichthe monitor service 212 is not started up as the client PC 20 is booted.

When the client PC 20 is booted and the OS 26 is waiting for a user tolog on, as the user logs on (step S311) the OS 26 starts up the UIapplication 211 as a process in executing a start-up operation (stepS312). As the user logs on, an individual environment for the user toaccess software resources is established. Accordingly, the user canaccess the software resources of the client PC 20. When it is confirmedthat the monitor service 212 is not started up, the UI application 211starts up the monitor service 212 (step S313). This is because themonitor service 212 needs to be started up for the UI application 211 toperform operations. Then, the UI application 211 displays its icon 211 i(refer to FIG. 18) on the task bar (step S314).

The UI application 211 executes the following application when it isstarted up by the OS 26. FIG. 20 is a flowchart for describing theprocess of starting up the UI application 211.

When the application 211 is started up by the OS 26, the UI application211 acquires status information of the monitor service 212 (step 5351),and determines whether the monitor service 212 is started up based onthe status information (step S352). When the monitor service 212 is notstarted up (No in step S352), the UI application 211 starts up themonitor service 212 (step S353). When the monitor service 212 is alreadystarted up (Yes in step S352), the UI application 211 does not start upthe monitor service 212. The status information can be requested from aService Manager based on the service name of the monitor service 212. Aprocess ID of the monitor service 212 can be acquired based on theprogram name of the monitor service 212. It can be determined that themonitor service 212 is not started up when a process ID cannot besuccessfully acquired.

Next, an ending process of the monitor program 21 is described. FIG. 21is a sequence diagram for describing the ending process of the monitorprogram 21 when the user logs off.

When the user logs off (step S401), the UI application 211 receives anend request from the OS (step S402). When the end request is received,the UI application 211 ends its process. Accordingly, the icon 211 i onthe task bar becomes hidden, and the individual environment for the userto access software resources ends (log off).

As shown in FIG. 18, by right-clicking the icon 211 i, the context menu211 m is displayed. The context menu 211 m includes an item “Exit” asone of the menu items. The item “Exit” is a menu item for ending theprogram causing the icon 211 i to be displayed, i.e., the UI application211. Next, a description is given of a process for ending the monitorprogram 21 when the “Exit” item is selected.

FIG. 22 is a sequence diagram for describing the process for ending themonitor program 21 when an instruction is made to end the UI application211 with the context menu 211 m.

When the user right-clicks the icon 211 i and selects the “Exit” itemincluded in the context menu 211 m, the UI application 211 receives theend request (step S411). The UI application 211 ends the monitor service212 (step S412), and then ends itself.

When an end request is received, the UI application 211 executes theprocess below. FIG. 23 is a flowchart for describing the process ofending the UI application 211. When an end request is received (stepS451), the UI application 211 determines whether the end request is madedue to log off (step S452). In the case of Windows (registeredtrademark), if log off is executed, a LOG OFF message is generated inthe message procedure. The UI application 211 turns a flag ON when thisLOG OFF message is acquired. When an end request is subsequentlyreceived, if the flag is ON, the UI application 211 determines that theend request is made due to log off; if the flag is OFF, the UIapplication 211 determines that the end request is made due to anotherfactor (such as selection of the “Exit” item).

If the end request is not made due to log off (No in step S452), the UIapplication 211 ends the monitor service 212 (step S454), and endsitself (step S453). On the other hand, if the end request is made due tolog off (Yes in step S452), the UI application 211 ends itself withoutending the monitor service 212 (step S453).

As described above, if the log off is executed, the UI application 211ends but the monitor service 212 does not end. The monitor service 212continues to realize functions of acquiring device information andmonitoring shortages of consumable elements. This is because it is notconsidered appropriate to end these functions due to a single user's logoff. It is considered that the user that logs off does not intend to endthe monitor service 212 by logging off.

On the other hand, if the UI application 211 ends due to a factor otherthan log off, the monitor service 212 also ends. A typical example iswhen an instruction to end the UI application 211 is made from thecontext menu 211 m of the icon 211 i. More specifically, although theicon 211 i is only for the UI application 211, a user will most probablyperceive the icon 211 i as being for the entire monitor program 21including both the UI application 211 and the monitor service 212. Thatis, a general user may not acknowledge or be aware of the difference inthe processes of the UI application 211 and the monitor service 212, andmay thus perceive the UI application 211 and the monitor service 212 asbeing a single application. Considering this point, if the user makes anend instruction from the context menu 211 m, it can be assumed that theuser intends to end all functions of the monitor program 21, i.e., thefunction of monitoring shortages in consumable elements. Thus, if themonitor program 21 is not ended in such a circumstance, there would be adiscrepancy between the user's understanding and the actual status ofthe client PC 20. As a result, the user would receive shortage reporte-mails while the user is thinking that the monitoring operation for thedevice 30 is supposed to have ended. Accordingly, in the presentembodiment, the monitor service 212 does not end due to log off but endsdue to factors other than log off.

The present invention is not limited to the specifically disclosedembodiment, and variations and modifications may be made withoutdeparting from the scope of the present invention.

The present application is based on Japanese Priority Patent ApplicationNo. 2006-152181, filed on May 31, 2006, and Japanese Priority PatentApplication No. 2007-093636, filed on Mar. 30, 2007, the entire contentsof which are hereby incorporated by reference.

1. An information processing apparatus comprising: an informationprocessing unit configured to operate as a daemon process; and aninformation displaying unit configured to operate as a process differentfrom the daemon process and display a screen relevant to the informationprocessing unit; wherein: as the information displaying unit is startedup, the information displaying unit starts up the information processingunit. 2-20. (canceled)